Spring Boot

搜索结果

在博客中搜索相关文章

79 篇文章 7

打牌记账-技术文档

本项目针对多人打牌记账场景,提供基于Web的实时同步、多人协作、持久化存储与跨平台访问的数字化记账系统。核心目标包括实时同步、支持最多8人同屏记账、永久保存记录并可查询、界面简洁易用。技术选型采用 Spring Boot + MyBatis‑Plus + MySQL 作为后端,WebSocket 实现低延迟双向通信,前端使用原生 HTML5/CSS3/JavaScript 并通过 Thymeleaf 渲染。系统架构分为客户端层、应用服务层(Controller、Service、Mapper、WebSocket Handler)和数据存储层。关键功能实现:① 房间创建使用 8 位 UUID 码并通过唯一索引防冲突,首位加入者自动设为房主;② 采用乐观锁 SQL 控制房间人数上下限,确保并发安全;③ 用户加入流程包括房间容量检查、同名校验、用户记录创建、人数计数更新及房主设置。整体代码结构清晰,涵盖配置、DTO、实体、Mapper、Service 与工具类,满足快速迭代与可靠运行的需求。

打牌记账-使用手册

打牌记账是一款基于浏览器的实时多人记账工具,支持麻将、斗地主等棋牌游戏。用户无需注册,仅输入昵称即可创建或加入最多8人的加密房间,系统自动同步、计算盈亏并保存历史。核心功能包括房间创建/密码保护、二维码或链接邀请、实时记账、自动结算、昵称修改以及“我加入的房间”历史查看。技术上采用BCrypt加密、WebSocket 异步广播,兼容手机、平板、电脑,使用 Chrome 等现代浏览器即可。手动记错可反向记账,结算后房间锁定不可再记。

微服务入门(SpringCloud Alibaba)

本文以 Spring Cloud Alibaba 为例,演示了微服务项目的搭建流程。首先创建 Maven 父工程 cloud2021,统一管理 Spring Boot、Spring Cloud、Alibaba 以及 MySQL、Druid、MyBatis 等依赖,并通过 dependencyManagement 锁定版本。随后在父工程下新增支付服务模块 cloud‑provider‑payment8001,编写子模块 pom 引入公共 api 包及 Web、Actuator、MyBatis、Druid 等必要依赖;在 application.yml 中配置服务端口、Spring 应用名、Druid 数据源及 MyBatis 扫描路径;最后提供启动类 PaymentMain8001。全文展示了父子模块结构、依赖声明、资源配置及启动入口的完整实现,为新手快速搭建 Spring Cloud Alibaba 微服务提供了可复制的模板。

微信公众号API+Redis实现内容访问控制

本文介绍了基于微信公众号验证码的文章解锁方案,实现未关注用户只能浏览文章前1/3内容,点击“查看全文”引导关注并发送关键词“博客”获取6位数字验证码。核心技术包括前端 CSS 截断+遮罩、Spring Boot 提供验证码生成/验证 API、Redis 存储验证码(5 分钟 TTL,单次使用),以及微信服务器的消息推送与自动回复。验证成功后通过浏览器 LocalStorage 持久化全局解锁状态。文中给出系统架构图、关键代码(RedisConfig、VerifyCodeService、WechatMpService)以及完整的依赖配置、Redis 连接、验证码服务实现和公众号接入步骤,帮助快速搭建可在移动端和桌面端平滑运行的内容访问控制功能。

通意千应语音播放(TTS)技术方案

通意千应 TTS 方案面向 AI 对话、智能客服等实时流式语音交互,采用“异步分段合成 + 流式预加载 + 语义级文本分割”三大核心策略。通过首段优先合成、后段后台预加载,实现首段即播、无感延迟;基于标点层级的三级智能分句(句末 > 逗号 > 强制截断),保证语义完整且避免生硬断句;采用本地 Caffeine 与 Redis 组合缓存,防止重复合成与资源浪费。系统架构采用 Vue3 前端配合 HTML5/Web Audio 音频引擎,后端 Spring Boot + Java 17 负责文本分段、Token 管理和调用百度云 TTS 接口,提供播放/暂停/切换会话等控制并具备合成失败自动重试、降级等异常自愈能力。整体实现兼顾低延迟、流畅衔接和高可用,适用于大模型实时语音输出场景。

Redis持久化、主从与哨兵架构

Redis提供RDB快照(save同步、bgsave异步)和AOF日志(appendfsync策略、重写),并可开启混合持久化以加速重启。可用crontab实现定时备份。主从复制使用PSYNC,支持全量/增量同步和断点续传,并可配置只读从节点。Jedis示例展示连接池、Pipeline批量请求及Lua脚本实现原子操作。

SpringBoot开发中的十大常见问题与解决方案

本文系统梳理了SpringBoot 开发中常见的十类问题并给出实用解决方案,重点包括:① 多环境配置文件的加载顺序与占位符使用;② Bean 循环依赖、实现冲突的 @Lazy、@Primary、@Qualifier 处理;③ @Transactional 生效条件、传播行为及事务管理器配置;④ Hikari 连接池参数、泄露检测与监控端点;⑤ Redis 缓存穿透、击穿、雪崩和一致性治理,分别演示空值缓存、分布式锁和 @CacheEvict。通过代码示例帮助开发者快速定位并规避这些坑。

通意千应如何“读懂“你的文件?一文拆解多模态上传全链路

通意千应是基于 Spring Boot 与 Vue.js 的 AI 对话系统,提供多模态附件上传与解析功能。系统采用前端‑控制层‑服务层‑数据层四层架构,前端实现文件选择、预览和多维校验(类型、大小、数量、重复),后端提供统一上传 API、权限校验及事务化处理。文件以 UUID 命名、日期分层存储,同时保存本地路径和七牛云 OSS URL,实现 CDN 加速。上传时即调用 FileParseService 按策略模式解析 PDF、Word、Excel、PPT、TXT、图片等七类文件,提取文本并存入 ChatFile 实体,供后续 AI 多模态交互使用。核心亮点包括即时预览、预解析存库、云存储优先和完整事务链,确保高效、安全的全链路文件处理。

SpringBoot整合阿里云实现短信验证码功能

本文详述在 Spring Boot 项目中集成阿里云短信服务并结合 Redis 实现验证码功能的完整步骤。先在 pom.xml 引入阿里云 SDK、Redis 与工具类依赖,随后在 application.yml 配置阿里云账号、短信模板、Redis 连接及验证码参数(有效期、长度、重发间隔)。文中提供 RedisTemplate 与阿里云短信 Client 的 Java 配置类,定义发送与校验验证码的 Service 接口及实现。实现逻辑包括手机号校验、发送频率限制、随机验证码生成、将验证码存入带过期时间的 Redis、调用阿里云 API 发送短信,以及校验时的错误次数防暴力破解、验证码失效处理和一次性删除。整体方案实现了高效、可控且安全的短信验证码系统。

Spring Boot

Spring Boot 是基于 Spring 的脚手架,遵循“约定优于配置”,能够快速搭建独立、准生产级项目。通过 Starter(Maven POM)一次声明即可引入所需依赖,简化包管理。项目入口类的 main 方法调用 SpringApplication.run,完成环境准备、容器创建、Banner 打印、监听器通知等启动流程。@EnableAutoConfiguration 结合 spring.factories 中的 AutoConfiguration 类实现自动装配,@Conditional 系列注解根据类、Bean、属性等条件决定 Bean 实例化。核心注解 @SpringBootApplication 包含自动配置、组件扫描等功能,使开发、部署效率大幅提升,并天然支持云平台集成。

Spring Boot IOC架构落地与最佳实践

文章阐述Spring Boot IOC的核心原理与架构,展示容器启动流程、Bean 生命周期及各阶段回调;比较构造器、Setter、字段、方法四种依赖注入方式并推荐构造器注入;通过 @Profile、@Conditional 实现环境化条件装配;系统梳理单例、原型、请求、会话、应用等作用域及其线程安全设计;结合工厂模式演示在 IOC 中动态获取实现;最后介绍延迟加载、循环依赖解决、AOP、健康检查等生产级最佳实践,为微服务和云原生项目落地提供完整指南。

文章解锁功能安全漏洞修复技术记录

博客文章解锁功能原本依赖本地存储 `blog_global_unlocked`,导致用户可通过浏览器 DevTools 修改键值绕过关注公众号的验证码验证,破坏付费与引流策略。为根除此漏洞,方案将关键验证迁移至服务器端,采用 Spring Boot REST 接口配合 Redis 保存解锁状态和一次性令牌,使用多层客户端标识(Cookie、请求头、IP+User‑Agent 指纹)生成唯一 `clientId`。前端通过 Fetch 与服务器查询解锁状态、获取令牌并在页面加载时决定是否解锁;拦截器统一注入 `clientId` 并写入长期 Cookie。令牌采用 MD5(clientId+timestamp+UUID) 生成,具滑动过期和防篡改校验。整体实现保持用户体验流畅,同时实现服务器可控、不可伪造、可追踪的安全解锁机制。